﻿using LiteDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileManagerSystem.DbInfos
{
    /// <summary>
    /// 文件信息实体
    /// </summary>
    public class FileInf
    {
        /// <summary>
        /// 唯一主键
        /// </summary>
        [BsonId]
        public Guid Id { get; set; }

        /// <summary>
        /// 文件名 无格式后缀
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 文件名后缀
        /// </summary>
        public string Extension { get; set; }

        /// <summary>
        /// 文件mime类型
        /// </summary>
        public string MimeType { get; set; }

        /// <summary>
        /// 文件存放在服务器的真实目录，最后分片合并的时候才会更新
        /// </summary>
        public string DirPath { get; set; }

        /// <summary>
        /// 所传文件首个分片文件的md5
        /// </summary>
        public string Md5 { get; set; }

        /// <summary>
        /// 文件大小
        /// </summary>
        public long FileSize { get; set; }

        /// <summary>
        /// 上传时间 会在初次insert时插入，不用刻意给值
        /// </summary>
        public DateTime UploadTime { get; set; }

        /// <summary>
        /// 是否永久保存
        /// <para>默认不保存，如果未确认上传的文件，在服务器上属于垃圾文件，应该定期清除</para>
        /// </summary>
        public bool Keep { get; set; }

    }
}
